home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / editors / emcs1855 / emcs1855.0 / lisp / float.elc < prev    next >
Emacs Compiled Lisp  |  1986-12-04  |  7.9 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was processed as: Emacs Compiled Lisp (other/emacsCompiledLisp).
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
1% dexvert Emacs Compiled Lisp (other/emacsCompiledLisp) magic Unsupported
1% dexvert Combustion 2 Particle Library (other/combustion2ParticleLibrary) ext Unsupported
100% file Emacs v18 byte-compiled Lisp data default
99% file data default
100% gt2 Kopftext: '(defconst exp-base 2 ' default (weak)
100% detectItEasy Format: plain text[LF] default (weak)
100% xdgMime text/x-emacs-lisp default (weak)



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 0a 28 64 65 66 63 6f 6e | 73 74 20 65 78 70 2d 62 |.(defcon|st exp-b|
|00000010| 61 73 65 20 32 20 22 5c | 0a 42 61 73 65 20 6f 66 |ase 2 "\|.Base of|
|00000020| 20 65 78 70 6f 6e 65 6e | 74 20 69 6e 20 74 68 69 | exponen|t in thi|
|00000030| 73 20 66 6c 6f 61 74 69 | 6e 67 20 70 6f 69 6e 74 |s floati|ng point|
|00000040| 20 72 65 70 72 65 73 65 | 6e 74 61 74 69 6f 6e 2e | represe|ntation.|
|00000050| 22 29 0a 0a 28 64 65 66 | 63 6f 6e 73 74 20 6d 61 |")..(def|const ma|
|00000060| 6e 74 69 73 73 61 2d 62 | 69 74 73 20 32 34 20 22 |ntissa-b|its 24 "|
|00000070| 5c 0a 4e 75 6d 62 65 72 | 20 6f 66 20 73 69 67 6e |\.Number| of sign|
|00000080| 69 66 69 63 61 6e 74 20 | 62 69 74 73 20 69 6e 20 |ificant |bits in |
|00000090| 74 68 69 73 20 66 6c 6f | 61 74 69 6e 67 20 70 6f |this flo|ating po|
|000000a0| 69 6e 74 20 72 65 70 72 | 65 73 65 6e 74 61 74 69 |int repr|esentati|
|000000b0| 6f 6e 2e 22 29 0a 0a 28 | 64 65 66 63 6f 6e 73 74 |on.")..(|defconst|
|000000c0| 20 64 65 63 69 6d 61 6c | 2d 64 69 67 69 74 73 20 | decimal|-digits |
|000000d0| 36 20 22 5c 0a 4e 75 6d | 62 65 72 20 6f 66 20 64 |6 "\.Num|ber of d|
|000000e0| 65 63 69 6d 61 6c 20 64 | 69 67 69 74 73 20 65 78 |ecimal d|igits ex|
|000000f0| 70 65 63 74 65 64 20 74 | 6f 20 62 65 20 61 63 63 |pected t|o be acc|
|00000100| 75 72 61 74 65 2e 22 29 | 0a 0a 28 64 65 66 63 6f |urate.")|..(defco|
|00000110| 6e 73 74 20 65 78 70 74 | 2d 64 69 67 69 74 73 20 |nst expt|-digits |
|00000120| 32 20 22 5c 0a 4d 61 78 | 69 6d 75 6d 20 70 65 72 |2 "\.Max|imum per|
|00000130| 6d 69 74 74 65 64 20 64 | 69 67 69 74 73 20 69 6e |mitted d|igits in|
|00000140| 20 61 20 73 63 69 65 6e | 74 69 66 69 63 20 6e 6f | a scien|tific no|
|00000150| 74 61 74 69 6f 6e 20 65 | 78 70 6f 6e 65 6e 74 2e |tation e|xponent.|
|00000160| 22 29 0a 0a 28 64 65 66 | 63 6f 6e 73 74 20 6d 61 |")..(def|const ma|
|00000170| 78 62 69 74 20 28 31 2d | 20 6d 61 6e 74 69 73 73 |xbit (1-| mantiss|
|00000180| 61 2d 62 69 74 73 29 20 | 22 5c 0a 4e 75 6d 62 65 |a-bits) |"\.Numbe|
|00000190| 72 20 6f 66 20 68 69 67 | 68 65 73 74 20 62 69 74 |r of hig|hest bit|
|000001a0| 22 29 0a 0a 28 64 65 66 | 63 6f 6e 73 74 20 6d 61 |")..(def|const ma|
|000001b0| 6e 74 69 73 73 61 2d 6d | 61 78 76 61 6c 20 28 31 |ntissa-m|axval (1|
|000001c0| 2d 20 28 61 73 68 20 31 | 20 6d 61 78 62 69 74 29 |- (ash 1| maxbit)|
|000001d0| 29 20 22 5c 0a 4d 61 78 | 69 6d 75 6d 20 70 65 72 |) "\.Max|imum per|
|000001e0| 6d 69 73 73 61 62 6c 65 | 20 76 61 6c 75 65 20 6f |missable| value o|
|000001f0| 66 20 6d 61 6e 74 69 73 | 73 61 22 29 0a 0a 28 64 |f mantis|sa")..(d|
|00000200| 65 66 63 6f 6e 73 74 20 | 6d 61 6e 74 69 73 73 61 |efconst |mantissa|
|00000210| 2d 6d 69 6e 76 61 6c 20 | 28 61 73 68 20 31 20 6d |-minval |(ash 1 m|
|00000220| 61 78 62 69 74 29 20 22 | 5c 0a 4d 69 6e 69 6d 75 |axbit) "|\.Minimu|
|00000230| 6d 20 70 65 72 6d 69 73 | 73 61 62 6c 65 20 76 61 |m permis|sable va|
|00000240| 6c 75 65 20 6f 66 20 6d | 61 6e 74 69 73 73 61 22 |lue of m|antissa"|
|00000250| 29 0a 0a 28 64 65 66 63 | 6f 6e 73 74 20 66 6c 6f |)..(defc|onst flo|
|00000260| 61 74 69 6e 67 2d 70 6f | 69 6e 74 2d 72 65 67 65 |ating-po|int-rege|
|00000270| 78 70 20 22 5e 5b 20 09 | 5d 2a 5c 5c 28 2d 3f 5c |xp "^[ .|]*\\(-?\|
|00000280| 5c 29 5c 5c 28 5b 30 2d | 39 5d 2a 5c 5c 29 5c 5c |\)\\([0-|9]*\\)\\|
|00000290| 28 5c 5c 2e 5c 5c 28 5b | 30 2d 39 5d 2a 5c 5c 29 |(\\.\\([|0-9]*\\)|
|000002a0| 5c 5c 7c 5c 5c 29 5c 5c | 28 5c 5c 28 5c 5c 28 5b |\\|\\)\\|(\\(\\([|
|000002b0| 45 65 5d 5c 5c 29 5c 5c | 28 2d 3f 5c 5c 29 5c 5c |Ee]\\)\\|(-?\\)\\|
|000002c0| 28 5b 30 2d 39 5d 5b 30 | 2d 39 5d 2a 5c 5c 29 5c |([0-9][0|-9]*\\)\|
|000002d0| 5c 29 5c 5c 7c 5c 5c 29 | 5b 20 09 5d 2a 24 22 20 |\)\\|\\)|[ .]*$" |
|000002e0| 22 5c 0a 52 65 67 75 6c | 61 72 20 65 78 70 72 65 |"\.Regul|ar expre|
|000002f0| 73 73 69 6f 6e 20 74 6f | 20 6d 61 74 63 68 20 66 |ssion to| match f|
|00000300| 6c 6f 61 74 69 6e 67 20 | 70 6f 69 6e 74 20 6e 75 |loating |point nu|
|00000310| 6d 62 65 72 73 2e 20 20 | 45 78 74 72 61 63 74 20 |mbers. |Extract |
|00000320| 6d 61 74 63 68 65 73 3a | 0a 31 20 2d 20 6d 69 6e |matches:|.1 - min|
|00000330| 75 73 20 73 69 67 6e 0a | 32 20 2d 20 69 6e 74 65 |us sign.|2 - inte|
|00000340| 67 65 72 20 70 61 72 74 | 0a 34 20 2d 20 66 72 61 |ger part|.4 - fra|
|00000350| 63 74 69 6f 6e 61 6c 20 | 70 61 72 74 0a 38 20 2d |ctional |part.8 -|
|00000360| 20 6d 69 6e 75 73 20 73 | 69 67 6e 20 66 6f 72 20 | minus s|ign for |
|00000370| 70 6f 77 65 72 20 6f 66 | 20 74 65 6e 0a 39 20 2d |power of| ten.9 -|
|00000380| 20 70 6f 77 65 72 20 6f | 66 20 74 65 6e 0a 22 29 | power o|f ten.")|
|00000390| 0a 0a 28 64 65 66 63 6f | 6e 73 74 20 68 69 67 68 |..(defco|nst high|
|000003a0| 2d 62 69 74 2d 6d 61 73 | 6b 20 28 61 73 68 20 31 |-bit-mas|k (ash 1|
|000003b0| 20 6d 61 78 62 69 74 29 | 20 22 5c 0a 4d 61 73 6b | maxbit)| "\.Mask|
|000003c0| 73 20 61 6c 6c 20 62 69 | 74 73 20 65 78 63 65 70 |s all bi|ts excep|
|000003d0| 74 20 74 68 65 20 68 69 | 67 68 2d 6f 72 64 65 72 |t the hi|gh-order|
|000003e0| 20 28 73 69 67 6e 29 20 | 62 69 74 2e 22 29 0a 0a | (sign) |bit.")..|
|000003f0| 28 64 65 66 63 6f 6e 73 | 74 20 73 65 63 6f 6e 64 |(defcons|t second|
|00000400| 2d 62 69 74 2d 6d 61 73 | 6b 20 28 61 73 68 20 31 |-bit-mas|k (ash 1|
|00000410| 20 28 31 2d 20 6d 61 78 | 62 69 74 29 29 20 22 5c | (1- max|bit)) "\|
|00000420| 0a 4d 61 73 6b 73 20 61 | 6c 6c 20 62 69 74 73 20 |.Masks a|ll bits |
|00000430| 65 78 63 65 70 74 20 74 | 68 65 20 68 69 67 68 65 |except t|he highe|
|00000440| 73 74 2d 6f 72 64 65 72 | 20 6d 61 67 6e 69 74 75 |st-order| magnitu|
|00000450| 64 65 20 62 69 74 22 29 | 0a 0a 28 73 65 74 71 20 |de bit")|..(setq |
|00000460| 5f 66 30 20 28 71 75 6f | 74 65 20 28 30 20 2e 20 |_f0 (quo|te (0 . |
|00000470| 31 29 29 29 0a 0a 28 73 | 65 74 71 20 5f 66 31 2f |1)))..(s|etq _f1/|
|00000480| 32 20 28 71 75 6f 74 65 | 20 28 34 31 39 34 33 30 |2 (quote| (419430|
|00000490| 34 20 2e 20 2d 32 33 29 | 29 29 0a 0a 28 73 65 74 |4 . -23)|))..(set|
|000004a0| 71 20 5f 66 31 20 28 71 | 75 6f 74 65 20 28 34 31 |q _f1 (q|uote (41|
|000004b0| 39 34 33 30 34 20 2e 20 | 2d 32 32 29 29 29 0a 0a |94304 . |-22)))..|
|000004c0| 28 73 65 74 71 20 5f 66 | 31 30 20 28 71 75 6f 74 |(setq _f|10 (quot|
|000004d0| 65 20 28 35 32 34 32 38 | 38 30 20 2e 20 2d 31 39 |e (52428|80 . -19|
|000004e0| 29 29 29 0a 0a 28 73 65 | 74 71 20 70 6f 77 65 72 |)))..(se|tq power|
|000004f0| 73 2d 6f 66 2d 31 30 20 | 28 6d 61 6b 65 2d 76 65 |s-of-10 |(make-ve|
|00000500| 63 74 6f 72 20 28 31 2b | 20 64 65 63 69 6d 61 6c |ctor (1+| decimal|
|00000510| 2d 64 69 67 69 74 73 29 | 20 5f 66 31 29 29 0a 0a |-digits)| _f1))..|
|00000520| 28 61 73 65 74 20 70 6f | 77 65 72 73 2d 6f 66 2d |(aset po|wers-of-|
|00000530| 31 30 20 31 20 5f 66 31 | 30 29 0a 0a 28 61 73 65 |10 1 _f1|0)..(ase|
|00000540| 74 20 70 6f 77 65 72 73 | 2d 6f 66 2d 31 30 20 32 |t powers|-of-10 2|
|00000550| 20 28 71 75 6f 74 65 20 | 28 36 35 35 33 36 30 30 | (quote |(6553600|
|00000560| 20 2e 20 2d 31 36 29 29 | 29 0a 0a 28 61 73 65 74 | . -16))|)..(aset|
|00000570| 20 70 6f 77 65 72 73 2d | 6f 66 2d 31 30 20 33 20 | powers-|of-10 3 |
|00000580| 28 71 75 6f 74 65 20 28 | 38 31 39 32 30 30 30 20 |(quote (|8192000 |
|00000590| 2e 20 2d 31 33 29 29 29 | 0a 0a 28 61 73 65 74 20 |. -13)))|..(aset |
|000005a0| 70 6f 77 65 72 73 2d 6f | 66 2d 31 30 20 34 20 28 |powers-o|f-10 4 (|
|000005b0| 71 75 6f 74 65 20 28 35 | 31 32 30 30 30 30 20 2e |quote (5|120000 .|
|000005c0| 20 2d 39 29 29 29 0a 0a | 28 61 73 65 74 20 70 6f | -9)))..|(aset po|
|000005d0| 77 65 72 73 2d 6f 66 2d | 31 30 20 35 20 28 71 75 |wers-of-|10 5 (qu|
|000005e0| 6f 74 65 20 28 36 34 30 | 30 30 30 30 20 2e 20 2d |ote (640|0000 . -|
|000005f0| 36 29 29 29 0a 0a 28 61 | 73 65 74 20 70 6f 77 65 |6)))..(a|set powe|
|00000600| 72 73 2d 6f 66 2d 31 30 | 20 36 20 28 71 75 6f 74 |rs-of-10| 6 (quot|
|00000610| 65 20 28 38 30 30 30 30 | 30 30 20 2e 20 2d 33 29 |e (80000|00 . -3)|
|00000620| 29 29 0a 0a 28 73 65 74 | 71 20 61 6c 6c 2d 64 65 |))..(set|q all-de|
|00000630| 63 69 6d 61 6c 2d 64 69 | 67 73 2d 6d 69 6e 76 61 |cimal-di|gs-minva|
|00000640| 6c 20 28 61 72 65 66 20 | 70 6f 77 65 72 73 2d 6f |l (aref |powers-o|
|00000650| 66 2d 31 30 20 28 31 2d | 20 64 65 63 69 6d 61 6c |f-10 (1-| decimal|
|00000660| 2d 64 69 67 69 74 73 29 | 29 20 68 69 67 68 65 73 |-digits)|) highes|
|00000670| 74 2d 70 6f 77 65 72 2d | 6f 66 2d 31 30 20 28 61 |t-power-|of-10 (a|
|00000680| 72 65 66 20 70 6f 77 65 | 72 73 2d 6f 66 2d 31 30 |ref powe|rs-of-10|
|00000690| 20 64 65 63 69 6d 61 6c | 2d 64 69 67 69 74 73 29 | decimal|-digits)|
|000006a0| 29 0a 0a 28 64 65 66 75 | 6e 20 66 61 73 68 6c 20 |)..(defu|n fashl |
|000006b0| 28 66 6e 75 6d 29 20 28 | 62 79 74 65 2d 63 6f 64 |(fnum) (|byte-cod|
|000006c0| 65 20 22 c1 08 40 c2 5c | 22 08 41 53 42 87 22 20 |e "..@.\|".ASB." |
|000006d0| 5b 66 6e 75 6d 20 61 73 | 68 20 31 5d 20 33 29 29 |[fnum as|h 1] 3))|
|000006e0| 0a 0a 28 64 65 66 75 6e | 20 66 61 73 68 72 20 28 |..(defun| fashr (|
|000006f0| 66 6e 75 6d 29 20 28 62 | 79 74 65 2d 63 6f 64 65 |fnum) (b|yte-code|
|00000700| 20 22 c1 08 40 c2 5c 22 | 08 41 54 42 87 22 20 5b | "..@.\"|.ATB." [|
|00000710| 66 6e 75 6d 20 61 73 68 | 20 2d 31 5d 20 33 29 29 |fnum ash| -1] 3))|
|00000720| 0a 0a 28 64 65 66 75 6e | 20 6e 6f 72 6d 61 6c 69 |..(defun| normali|
|00000730| 7a 65 20 28 66 6e 75 6d | 29 20 28 62 79 74 65 2d |ze (fnum|) (byte-|
|00000740| 63 6f 64 65 20 22 08 40 | c4 56 83 1d 00 c5 c6 08 |code ".@|.V......|
|00000750| 40 09 5c 22 21 85 1a 00 | c7 08 21 89 10 88 82 07 |@.\"!...|..!.....|
|00000760| 00 82 3d 00 08 40 c4 57 | 83 3a 00 c5 c6 08 40 0a |..=..@.W|.:....@.|
|00000770| 5c 22 21 85 37 00 c7 08 | 21 89 10 88 82 24 00 82 |\"!.7...|!....$..|
|00000780| 3d 00 0b 89 10 88 08 87 | 22 20 5b 66 6e 75 6d 20 |=.......|" [fnum |
|00000790| 73 65 63 6f 6e 64 2d 62 | 69 74 2d 6d 61 73 6b 20 |second-b|it-mask |
|000007a0| 68 69 67 68 2d 62 69 74 | 2d 6d 61 73 6b 20 5f 66 |high-bit|-mask _f|
|000007b0| 30 20 30 20 7a 65 72 6f | 70 20 6c 6f 67 61 6e 64 |0 0 zero|p logand|
|000007c0| 20 66 61 73 68 6c 5d 20 | 39 29 29 0a 0a 28 64 65 | fashl] |9))..(de|
|000007d0| 66 75 6e 20 61 62 73 20 | 28 6e 29 20 28 62 79 74 |fun abs |(n) (byt|
|000007e0| 65 2d 63 6f 64 65 20 22 | c1 08 21 83 0a 00 08 82 |e-code "|..!.....|
|000007f0| 0c 00 08 5b 87 22 20 5b | 6e 20 6e 61 74 6e 75 6d |...[." [|n natnum|
|00000800| 70 5d 20 32 29 29 0a 0a | 28 64 65 66 75 6e 20 66 |p] 2))..|(defun f|
|00000810| 61 62 73 20 28 66 6e 75 | 6d 29 20 28 62 79 74 65 |abs (fnu|m) (byte|
|00000820| 2d 63 6f 64 65 20 22 c1 | c2 08 40 21 08 41 42 21 |-code ".|..@!.AB!|
|00000830| 87 22 20 5b 66 6e 75 6d | 20 6e 6f 72 6d 61 6c 69 |." [fnum| normali|
|00000840| 7a 65 20 61 62 73 5d 20 | 34 29 29 0a 0a 28 64 65 |ze abs] |4))..(de|
|00000850| 66 75 6e 20 78 6f 72 20 | 28 61 20 62 29 20 28 62 |fun xor |(a b) (b|
|00000860| 79 74 65 2d 63 6f 64 65 | 20 22 08 86 05 00 09 85 |yte-code| "......|
|00000870| 0e 00 08 85 0d 00 09 3f | 87 22 20 5b 61 20 62 5d |.......?|." [a b]|
|00000880| 20 31 29 29 0a 0a 28 64 | 65 66 75 6e 20 73 61 6d | 1))..(d|efun sam|
|00000890| 65 2d 73 69 67 6e 20 28 | 61 20 62 29 20 28 62 79 |e-sign (|a b) (by|
|000008a0| 74 65 2d 63 6f 64 65 20 | 22 c2 c3 08 40 21 c3 09 |te-code |"...@!..|
|000008b0| 40 21 5c 22 3f 87 22 20 | 5b 61 20 62 20 78 6f 72 |@!\"?." |[a b xor|
|000008c0| 20 6e 61 74 6e 75 6d 70 | 5d 20 35 29 29 0a 0a 28 | natnump|] 5))..(|
|000008d0| 64 65 66 75 6e 20 65 78 | 74 72 61 63 74 2d 6d 61 |defun ex|tract-ma|
|000008e0| 74 63 68 20 28 73 74 72 | 20 69 29 20 28 62 79 74 |tch (str| i) (byt|
|000008f0| 65 2d 63 6f 64 65 20 22 | c0 c3 c4 8f 87 22 20 5b |e-code "|....." [|
|00000900| 6e 69 6c 20 73 74 72 20 | 69 20 28 62 79 74 65 2d |nil str |i (byte-|
|00000910| 63 6f 64 65 20 22 08 c2 | 09 21 c3 09 21 4f 87 22 |code "..|.!..!O."|
|00000920| 20 5b 73 74 72 20 69 20 | 6d 61 74 63 68 2d 62 65 | [str i |match-be|
|00000930| 67 69 6e 6e 69 6e 67 20 | 6d 61 74 63 68 2d 65 6e |ginning |match-en|
|00000940| 64 5d 20 35 29 20 28 28 | 65 72 72 6f 72 20 28 62 |d] 5) ((|error (b|
|00000950| 79 74 65 2d 63 6f 64 65 | 20 22 c0 87 22 20 5b 22 |yte-code| ".." ["|
|00000960| 22 5d 20 31 29 29 29 5d | 20 33 29 29 0a 0a 28 73 |"] 1)))]| 3))..(s|
|00000970| 65 74 71 20 68 61 6c 66 | 77 6f 72 64 2d 62 69 74 |etq half|word-bit|
|00000980| 73 20 28 2f 20 6d 61 6e | 74 69 73 73 61 2d 62 69 |s (/ man|tissa-bi|
|00000990| 74 73 20 32 29 20 6d 61 | 73 6b 6c 6f 20 28 31 2d |ts 2) ma|sklo (1-|
|000009a0| 20 28 61 73 68 20 31 20 | 68 61 6c 66 77 6f 72 64 | (ash 1 |halfword|
|000009b0| 2d 62 69 74 73 29 29 20 | 6d 61 73 6b 68 69 20 28 |-bits)) |maskhi (|
|000009c0| 6c 6f 67 6e 6f 74 20 6d | 61 73 6b 6c 6f 29 20 72 |lognot m|asklo) r|
|000009d0| 6f 75 6e 64 2d 6c 69 6d | 69 74 20 28 61 73 68 20 |ound-lim|it (ash |
|000009e0| 31 20 28 2f 20 68 61 6c | 66 77 6f 72 64 2d 62 69 |1 (/ hal|fword-bi|
|000009f0| 74 73 20 32 29 29 29 0a | 0a 28 64 65 66 75 6e 20 |ts 2))).|.(defun |
|00000a00| 68 69 68 61 6c 66 20 28 | 6e 29 20 28 62 79 74 65 |hihalf (|n) (byte|
|00000a10| 2d 63 6f 64 65 20 22 c3 | c4 08 09 5c 22 0a 5b 5c |-code ".|...\".[\|
|00000a20| 22 87 22 20 5b 6e 20 6d | 61 73 6b 68 69 20 68 61 |"." [n m|askhi ha|
|00000a30| 6c 66 77 6f 72 64 2d 62 | 69 74 73 20 61 73 68 20 |lfword-b|its ash |
|00000a40| 6c 6f 67 61 6e 64 5d 20 | 34 29 29 0a 0a 28 64 65 |logand] |4))..(de|
|00000a50| 66 75 6e 20 6c 6f 68 61 | 6c 66 20 28 6e 29 20 28 |fun loha|lf (n) (|
|00000a60| 62 79 74 65 2d 63 6f 64 | 65 20 22 c2 08 09 5c 22 |byte-cod|e "...\"|
|00000a70| 87 22 20 5b 6e 20 6d 61 | 73 6b 6c 6f 20 6c 6f 67 |." [n ma|sklo log|
|00000a80| 61 6e 64 5d 20 33 29 29 | 0a 0a 28 64 65 66 75 6e |and] 3))|..(defun|
|00000a90| 20 66 2b 20 28 61 31 20 | 61 32 29 20 22 5c 0a 52 | f+ (a1 |a2) "\.R|
|00000aa0| 65 74 75 72 6e 73 20 74 | 68 65 20 73 75 6d 20 6f |eturns t|he sum o|
|00000ab0| 66 20 74 77 6f 20 66 6c | 6f 61 74 69 6e 67 20 70 |f two fl|oating p|
|00000ac0| 6f 69 6e 74 20 6e 75 6d | 62 65 72 73 2e 22 20 28 |oint num|bers." (|
|00000ad0| 62 79 74 65 2d 63 6f 64 | 65 20 22 c4 09 0a 5c 22 |byte-cod|e "...\"|
|00000ae0| c5 09 0a 5c 22 1b 18 c6 | 09 0a 5c 22 83 1d 00 c7 |...\"...|..\"....|
|00000af0| 08 21 10 c7 0b 21 89 13 | 82 1e 00 c8 88 c9 08 40 |.!...!..|.......@|
|00000b00| ca 0b 40 0b 41 08 41 5a | 5c 22 5c 5c 08 41 42 21 |..@.A.AZ|\"\\.AB!|
|00000b10| 2a 87 22 20 5b 66 31 20 | 61 31 20 61 32 20 66 32 |*." [f1 |a1 a2 f2|
|00000b20| 20 66 6d 61 78 20 66 6d | 69 6e 20 73 61 6d 65 2d | fmax fm|in same-|
|00000b30| 73 69 67 6e 20 66 61 73 | 68 72 20 6e 69 6c 20 6e |sign fas|hr nil n|
|00000b40| 6f 72 6d 61 6c 69 7a 65 | 20 61 73 68 5d 20 31 31 |ormalize| ash] 11|
|00000b50| 29 29 0a 0a 28 64 65 66 | 75 6e 20 66 2d 20 28 61 |))..(def|un f- (a|
|00000b60| 31 20 26 6f 70 74 69 6f | 6e 61 6c 20 61 32 29 20 |1 &optio|nal a2) |
|00000b70| 22 5c 0a 52 65 74 75 72 | 6e 73 20 74 68 65 20 64 |"\.Retur|ns the d|
|00000b80| 69 66 66 65 72 65 6e 63 | 65 20 6f 66 20 74 77 6f |ifferenc|e of two|
|00000b90| 20 66 6c 6f 61 74 69 6e | 67 20 70 6f 69 6e 74 20 | floatin|g point |
|00000ba0| 6e 75 6d 62 65 72 73 2e | 22 20 28 62 79 74 65 2d |numbers.|" (byte-|
|00000bb0| 63 6f 64 65 20 22 08 83 | 0d 00 c2 09 c3 08 21 5c |code "..|......!\|
|00000bc0| 22 82 15 00 c4 09 40 5b | 09 41 42 21 87 22 20 5b |".....@[|.AB!." [|
|00000bd0| 61 32 20 61 31 20 66 2b | 20 66 2d 20 6e 6f 72 6d |a2 a1 f+| f- norm|
|00000be0| 61 6c 69 7a 65 5d 20 35 | 29 29 0a 0a 28 64 65 66 |alize] 5|))..(def|
|00000bf0| 75 6e 20 66 2a 20 28 61 | 31 20 61 32 29 20 22 5c |un f* (a|1 a2) "\|
|00000c00| 0a 52 65 74 75 72 6e 73 | 20 74 68 65 20 70 72 6f |.Returns| the pro|
|00000c10| 64 75 63 74 20 6f 66 20 | 74 77 6f 20 66 6c 6f 61 |duct of |two floa|
|00000c20| 74 69 6e 67 20 70 6f 69 | 6e 74 20 6e 75 6d 62 65 |ting poi|nt numbe|
|00000c30| 72 73 2e 22 20 28 62 79 | 74 65 2d 63 6f 64 65 20 |rs." (by|te-code |
|00000c40| 22 c9 09 21 40 18 c9 0b | 21 40 1a ca 09 0b 5c 22 |"..!@...|!@....\"|
|00000c50| 3f 1c cb cc cd ce 08 21 | ce 0a 21 5c 22 21 ce cd |?......!|..!\"!..|
|00000c60| cc 08 21 ce 0a 21 5c 22 | 21 ce cd ce 08 21 cc 0a |..!..!\"|!....!..|
|00000c70| 21 5c 22 21 23 1d cb cd | cc 08 21 cc 0a 21 5c 22 |!\"!#...|..!..!\"|
|00000c80| cc cd cc 08 21 ce 0a 21 | 5c 22 21 cc cd ce 08 21 |....!..!|\"!....!|
|00000c90| cc 0a 21 5c 22 21 cc 0d | 21 24 1e 06 ce 0d 21 0e |..!\"!..|!$....!.|
|00000ca0| 07 56 83 66 00 0e 06 54 | 89 16 06 82 67 00 cf 88 |.V.f...T|....g...|
|00000cb0| d0 0c 83 73 00 0e 06 5b | 82 75 00 0e 06 cb c9 09 |...s...[|.u......|
|00000cc0| 21 41 c9 0b 21 41 0e 08 | 23 42 21 2d 87 22 20 5b |!A..!A..|#B!-." [|
|00000cd0| 69 31 20 61 31 20 69 32 | 20 61 32 20 73 69 67 6e |i1 a1 i2| a2 sign|
|00000ce0| 20 70 72 6f 64 6c 6f 20 | 70 72 6f 64 68 69 20 72 | prodlo |prodhi r|
|00000cf0| 6f 75 6e 64 2d 6c 69 6d | 69 74 20 6d 61 6e 74 69 |ound-lim|it manti|
|00000d00| 73 73 61 2d 62 69 74 73 | 20 66 61 62 73 20 73 61 |ssa-bits| fabs sa|
|00000d10| 6d 65 2d 73 69 67 6e 20 | 2b 20 68 69 68 61 6c 66 |me-sign |+ hihalf|
|00000d20| 20 2a 20 6c 6f 68 61 6c | 66 20 6e 69 6c 20 6e 6f | * lohal|f nil no|
|00000d30| 72 6d 61 6c 69 7a 65 5d | 20 33 38 29 29 0a 0a 28 |rmalize]| 38))..(|
|00000d40| 64 65 66 75 6e 20 66 2f | 20 28 61 31 20 61 32 29 |defun f/| (a1 a2)|
|00000d50| 20 22 5c 0a 52 65 74 75 | 72 6e 73 20 74 68 65 20 | "\.Retu|rns the |
|00000d60| 71 75 6f 74 69 65 6e 74 | 20 6f 66 20 74 77 6f 20 |quotient| of two |
|00000d70| 66 6c 6f 61 74 69 6e 67 | 20 70 6f 69 6e 74 20 6e |floating| point n|
|00000d80| 75 6d 62 65 72 73 2e 22 | 20 28 62 79 74 65 2d 63 |umbers."| (byte-c|
|00000d90| 6f 64 65 20 22 c8 08 40 | 21 83 11 00 c9 ca cb 09 |ode "..@|!.......|
|00000da0| 08 45 5c 22 82 76 00 0b | 53 cc cd 09 21 40 cd 08 |.E\".v..|S...!@..|
|00000db0| 21 40 ce 09 08 5c 22 3f | 1e 07 1e 06 1d 1c 1a cf |!@...\"?|........|
|00000dc0| 0a 21 85 5a 00 0d 0e 06 | 5a cc 57 83 40 00 d0 0c |.!.Z....|Z.W.@...|
|00000dd0| d1 5c 22 89 14 82 4c 00 | d0 0c d1 5c 22 54 14 0d |.\"...L.|...\"T..|
|00000de0| 0e 06 5a 89 15 88 d0 0d | d1 5c 22 15 0a 53 89 12 |..Z.....|.\"..S..|
|00000df0| 88 82 28 00 88 d2 0e 07 | 83 66 00 0c 5b 82 67 00 |..(.....|.f..[.g.|
|00000e00| 0c d3 cd 09 21 41 cd 08 | 21 41 0b 53 23 42 21 2d |....!A..|!A.S#B!-|
|00000e10| 87 22 20 5b 61 32 20 61 | 31 20 62 69 74 73 20 6d |." [a2 a|1 bits m|
|00000e20| 61 78 62 69 74 20 71 75 | 6f 74 69 65 6e 74 20 64 |axbit qu|otient d|
|00000e30| 69 76 69 64 65 6e 64 20 | 64 69 76 69 73 6f 72 20 |ividend |divisor |
|00000e40| 73 69 67 6e 20 7a 65 72 | 6f 70 20 73 69 67 6e 61 |sign zer|op signa|
|00000e50| 6c 20 61 72 69 74 68 2d | 65 72 72 6f 72 20 22 61 |l arith-|error "a|
|00000e60| 74 74 65 6d 70 74 20 74 | 6f 20 64 69 76 69 64 65 |ttempt t|o divide|
|00000e70| 20 62 79 20 7a 65 72 6f | 22 20 30 20 66 61 62 73 | by zero|" 0 fabs|
|00000e80| 20 73 61 6d 65 2d 73 69 | 67 6e 20 6e 61 74 6e 75 | same-si|gn natnu|
|00000e90| 6d 70 20 61 73 68 20 31 | 20 6e 6f 72 6d 61 6c 69 |mp ash 1| normali|
|00000ea0| 7a 65 20 2d 5d 20 31 37 | 29 29 0a 0a 28 64 65 66 |ze -] 17|))..(def|
|00000eb0| 75 6e 20 66 25 20 28 61 | 31 20 61 32 29 20 22 5c |un f% (a|1 a2) "\|
|00000ec0| 0a 52 65 74 75 72 6e 73 | 20 74 68 65 20 72 65 6d |.Returns| the rem|
|00000ed0| 61 69 6e 64 65 72 20 6f | 66 20 66 69 72 73 74 20 |ainder o|f first |
|00000ee0| 66 6c 6f 61 74 69 6e 67 | 20 70 6f 69 6e 74 20 6e |floating| point n|
|00000ef0| 75 6d 62 65 72 20 64 69 | 76 69 64 65 64 20 62 79 |umber di|vided by|
|00000f00| 20 73 65 63 6f 6e 64 2e | 22 20 28 62 79 74 65 2d | second.|" (byte-|
|00000f10| 63 6f 64 65 20 22 c2 08 | c3 c4 c5 08 09 5c 22 21 |code "..|.....\"!|
|00000f20| 09 5c 22 5c 22 87 22 20 | 5b 61 31 20 61 32 20 66 |.\"\"." |[a1 a2 f|
|00000f30| 2d 20 66 2a 20 66 74 72 | 75 6e 63 20 66 2f 5d 20 |- f* ftr|unc f/] |
|00000f40| 37 29 29 0a 0a 28 64 65 | 66 75 6e 20 66 3d 20 28 |7))..(de|fun f= (|
|00000f50| 61 31 20 61 32 29 20 22 | 5c 0a 52 65 74 75 72 6e |a1 a2) "|\.Return|
|00000f60| 73 20 74 20 69 66 20 74 | 77 6f 20 66 6c 6f 61 74 |s t if t|wo float|
|00000f70| 69 6e 67 20 70 6f 69 6e | 74 20 6e 75 6d 62 65 72 |ing poin|t number|
|00000f80| 73 20 61 72 65 20 65 71 | 75 61 6c 2c 20 6e 69 6c |s are eq|ual, nil|
|00000f90| 20 6f 74 68 65 72 77 69 | 73 65 2e 22 20 28 62 79 | otherwi|se." (by|
|00000fa0| 74 65 2d 63 6f 64 65 20 | 22 c2 08 09 5c 22 87 22 |te-code |"...\"."|
|00000fb0| 20 5b 61 31 20 61 32 20 | 65 71 75 61 6c 5d 20 33 | [a1 a2 |equal] 3|
|00000fc0| 29 29 0a 0a 28 64 65 66 | 75 6e 20 66 3e 20 28 61 |))..(def|un f> (a|
|00000fd0| 31 20 61 32 29 20 22 5c | 0a 52 65 74 75 72 6e 73 |1 a2) "\|.Returns|
|00000fe0| 20 74 20 69 66 20 66 69 | 72 73 74 20 66 6c 6f 61 | t if fi|rst floa|
|00000ff0| 74 69 6e 67 20 70 6f 69 | 6e 74 20 6e 75 6d 62 65 |ting poi|nt numbe|
|00001000| 72 20 69 73 20 67 72 65 | 61 74 65 72 20 74 68 61 |r is gre|ater tha|
|00001010| 6e 20 73 65 63 6f 6e 64 | 2c 0a 6e 69 6c 20 6f 74 |n second|,.nil ot|
|00001020| 68 65 72 77 69 73 65 2e | 22 20 28 62 79 74 65 2d |herwise.|" (byte-|
|00001030| 63 6f 64 65 20 22 c4 08 | 40 21 85 0b 00 09 40 c5 |code "..|@!....@.|
|00001040| 57 83 12 00 c2 82 50 00 | 08 40 c5 56 85 1d 00 09 |W.....P.|.@.V....|
|00001050| 40 c5 58 83 24 00 c2 82 | 50 00 08 40 c5 58 85 2f |@.X.$...|P..@.X./|
|00001060| 00 c4 09 40 21 83 36 00 | c3 82 50 00 c6 08 41 09 |...@!.6.|..P...A.|
|00001070| 41 5c 22 83 47 00 08 41 | 09 41 56 82 50 00 c2 85 |A\".G..A|.AV.P...|
|00001080| 50 00 08 40 09 40 56 87 | 22 20 5b 61 31 20 61 32 |P..@.@V.|" [a1 a2|
|00001090| 20 74 20 6e 69 6c 20 6e | 61 74 6e 75 6d 70 20 30 | t nil n|atnump 0|
|000010a0| 20 2f 3d 5d 20 35 29 29 | 0a 0a 28 64 65 66 75 6e | /=] 5))|..(defun|
|000010b0| 20 66 3e 3d 20 28 61 31 | 20 61 32 29 20 22 5c 0a | f>= (a1| a2) "\.|
|000010c0| 52 65 74 75 72 6e 73 20 | 74 20 69 66 20 66 69 72 |Returns |t if fir|
|000010d0| 73 74 20 66 6c 6f 61 74 | 69 6e 67 20 70 6f 69 6e |st float|ing poin|
|000010e0| 74 20 6e 75 6d 62 65 72 | 20 69 73 20 67 72 65 61 |t number| is grea|
|000010f0| 74 65 72 20 74 68 61 6e | 20 6f 72 20 65 71 75 61 |ter than| or equa|
|00001100| 6c 20 74 6f 20 0a 73 65 | 63 6f 6e 64 2c 20 6e 69 |l to .se|cond, ni|
|00001110| 6c 20 6f 74 68 65 72 77 | 69 73 65 2e 22 20 28 62 |l otherw|ise." (b|
|00001120| 79 74 65 2d 63 6f 64 65 | 20 22 c2 08 09 5c 22 86 |yte-code| "...\".|
|00001130| 0b 00 c3 08 09 5c 22 87 | 22 20 5b 61 31 20 61 32 |.....\".|" [a1 a2|
|00001140| 20 66 3e 20 66 3d 5d 20 | 34 29 29 0a 0a 28 64 65 | f> f=] |4))..(de|
|00001150| 66 75 6e 20 66 3c 20 28 | 61 31 20 61 32 29 20 22 |fun f< (|a1 a2) "|
|00001160| 5c 0a 52 65 74 75 72 6e | 73 20 74 20 69 66 20 66 |\.Return|s t if f|
|00001170| 69 72 73 74 20 66 6c 6f | 61 74 69 6e 67 20 70 6f |irst flo|ating po|
|00001180| 69 6e 74 20 6e 75 6d 62 | 65 72 20 69 73 20 6c 65 |int numb|er is le|
|00001190| 73 73 20 74 68 61 6e 20 | 73 65 63 6f 6e 64 2c 0a |ss than |second,.|
|000011a0| 6e 69 6c 20 6f 74 68 65 | 72 77 69 73 65 2e 22 20 |nil othe|rwise." |
|000011b0| 28 62 79 74 65 2d 63 6f | 64 65 20 22 c2 08 09 5c |(byte-co|de "...\|
|000011c0| 22 3f 87 22 20 5b 61 31 | 20 61 32 20 66 3e 3d 5d |"?." [a1| a2 f>=]|
|000011d0| 20 33 29 29 0a 0a 28 64 | 65 66 75 6e 20 66 3c 3d | 3))..(d|efun f<=|
|000011e0| 20 28 61 31 20 61 32 29 | 20 22 5c 0a 52 65 74 75 | (a1 a2)| "\.Retu|
|000011f0| 72 6e 73 20 74 20 69 66 | 20 66 69 72 73 74 20 66 |rns t if| first f|
|00001200| 6c 6f 61 74 69 6e 67 20 | 70 6f 69 6e 74 20 6e 75 |loating |point nu|
|00001210| 6d 62 65 72 20 69 73 20 | 6c 65 73 73 20 74 68 61 |mber is |less tha|
|00001220| 6e 20 6f 72 20 65 71 75 | 61 6c 20 74 6f 0a 73 65 |n or equ|al to.se|
|00001230| 63 6f 6e 64 2c 20 6e 69 | 6c 20 6f 74 68 65 72 77 |cond, ni|l otherw|
|00001240| 69 73 65 2e 22 20 28 62 | 79 74 65 2d 63 6f 64 65 |ise." (b|yte-code|
|00001250| 20 22 c2 08 09 5c 22 3f | 87 22 20 5b 61 31 20 61 | "...\"?|." [a1 a|
|00001260| 32 20 66 3e 5d 20 33 29 | 29 0a 0a 28 64 65 66 75 |2 f>] 3)|)..(defu|
|00001270| 6e 20 66 2f 3d 20 28 61 | 31 20 61 32 29 20 22 5c |n f/= (a|1 a2) "\|
|00001280| 0a 52 65 74 75 72 6e 73 | 20 74 20 69 66 20 66 69 |.Returns| t if fi|
|00001290| 72 73 74 20 66 6c 6f 61 | 74 69 6e 67 20 70 6f 69 |rst floa|ting poi|
|000012a0| 6e 74 20 6e 75 6d 62 65 | 72 20 69 73 20 6e 6f 74 |nt numbe|r is not|
|000012b0| 20 65 71 75 61 6c 20 74 | 6f 20 73 65 63 6f 6e 64 | equal t|o second|
|000012c0| 2c 0a 6e 69 6c 20 6f 74 | 68 65 72 77 69 73 65 2e |,.nil ot|herwise.|
|000012d0| 22 20 28 62 79 74 65 2d | 63 6f 64 65 20 22 c2 08 |" (byte-|code "..|
|000012e0| 09 5c 22 3f 87 22 20 5b | 61 31 20 61 32 20 66 3d |.\"?." [|a1 a2 f=|
|000012f0| 5d 20 33 29 29 0a 0a 28 | 64 65 66 75 6e 20 66 6d |] 3))..(|defun fm|
|00001300| 69 6e 20 28 61 31 20 61 | 32 29 20 22 5c 0a 52 65 |in (a1 a|2) "\.Re|
|00001310| 74 75 72 6e 73 20 74 68 | 65 20 6d 69 6e 69 6d 75 |turns th|e minimu|
|00001320| 6d 20 6f 66 20 74 77 6f | 20 66 6c 6f 61 74 69 6e |m of two| floatin|
|00001330| 67 20 70 6f 69 6e 74 20 | 6e 75 6d 62 65 72 73 2e |g point |numbers.|
|00001340| 22 20 28 62 79 74 65 2d | 63 6f 64 65 20 22 c2 08 |" (byte-|code "..|
|00001350| 09 5c 22 83 0b 00 08 82 | 0c 00 09 87 22 20 5b 61 |.\".....|...." [a|
|00001360| 31 20 61 32 20 66 3c 5d | 20 33 29 29 0a 0a 28 64 |1 a2 f<]| 3))..(d|
|00001370| 65 66 75 6e 20 66 6d 61 | 78 20 28 61 31 20 61 32 |efun fma|x (a1 a2|
|00001380| 29 20 22 5c 0a 52 65 74 | 75 72 6e 73 20 74 68 65 |) "\.Ret|urns the|
|00001390| 20 6d 61 78 69 6d 75 6d | 20 6f 66 20 74 77 6f 20 | maximum| of two |
|000013a0| 66 6c 6f 61 74 69 6e 67 | 20 70 6f 69 6e 74 20 6e |floating| point n|
|000013b0| 75 6d 62 65 72 73 2e 22 | 20 28 62 79 74 65 2d 63 |umbers."| (byte-c|
|000013c0| 6f 64 65 20 22 c2 08 09 | 5c 22 83 0b 00 08 82 0c |ode "...|\"......|
|000013d0| 00 09 87 22 20 5b 61 31 | 20 61 32 20 66 3e 5d 20 |..." [a1| a2 f>] |
|000013e0| 33 29 29 0a 0a 28 64 65 | 66 75 6e 20 66 7a 65 72 |3))..(de|fun fzer|
|000013f0| 6f 70 20 28 66 6e 75 6d | 29 20 22 5c 0a 52 65 74 |op (fnum|) "\.Ret|
|00001400| 75 72 6e 73 20 74 20 69 | 66 20 74 68 65 20 66 6c |urns t i|f the fl|
|00001410| 6f 61 74 69 6e 67 20 70 | 6f 69 6e 74 20 6e 75 6d |oating p|oint num|
|00001420| 62 65 72 20 69 73 20 7a | 65 72 6f 2c 20 6e 69 6c |ber is z|ero, nil|
|00001430| 20 6f 74 68 65 72 77 69 | 73 65 2e 22 20 28 62 79 | otherwi|se." (by|
|00001440| 74 65 2d 63 6f 64 65 20 | 22 08 40 c1 55 87 22 20 |te-code |".@.U." |
|00001450| 5b 66 6e 75 6d 20 30 5d | 20 32 29 29 0a 0a 28 64 |[fnum 0]| 2))..(d|
|00001460| 65 66 75 6e 20 66 6c 6f | 61 74 70 20 28 66 6e 75 |efun flo|atp (fnu|
|00001470| 6d 29 20 22 5c 0a 52 65 | 74 75 72 6e 73 20 74 20 |m) "\.Re|turns t |
|00001480| 69 66 20 74 68 65 20 61 | 72 67 20 69 73 20 61 20 |if the a|rg is a |
|00001490| 66 6c 6f 61 74 69 6e 67 | 20 70 6f 69 6e 74 20 6e |floating| point n|
|000014a0| 75 6d 62 65 72 2c 20 6e | 69 6c 20 6f 74 68 65 72 |umber, n|il other|
|000014b0| 77 69 73 65 2e 22 20 28 | 62 79 74 65 2d 63 6f 64 |wise." (|byte-cod|
|000014c0| 65 20 22 08 3a 85 10 00 | c1 08 40 21 85 10 00 c1 |e ".:...|..@!....|
|000014d0| 08 41 21 87 22 20 5b 66 | 6e 75 6d 20 69 6e 74 65 |.A!." [f|num inte|
|000014e0| 67 65 72 70 5d 20 33 29 | 29 0a 0a 28 64 65 66 75 |gerp] 3)|)..(defu|
|000014f0| 6e 20 66 20 28 69 6e 74 | 29 20 22 5c 0a 43 6f 6e |n f (int|) "\.Con|
|00001500| 76 65 72 74 20 74 68 65 | 20 69 6e 74 65 67 65 72 |vert the| integer|
|00001510| 20 61 72 67 75 6d 65 6e | 74 20 74 6f 20 66 6c 6f | argumen|t to flo|
|00001520| 61 74 69 6e 67 20 70 6f | 69 6e 74 2c 20 6c 69 6b |ating po|int, lik|
|00001530| 65 20 61 20 43 20 63 61 | 73 74 20 6f 70 65 72 61 |e a C ca|st opera|
|00001540| 74 6f 72 2e 22 20 28 62 | 79 74 65 2d 63 6f 64 65 |tor." (b|yte-code|
|00001550| 20 22 c1 08 c2 42 21 87 | 22 20 5b 69 6e 74 20 6e | "...B!.|" [int n|
|00001560| 6f 72 6d 61 6c 69 7a 65 | 20 30 5d 20 33 29 29 0a |ormalize| 0] 3)).|
|00001570| 0a 28 64 65 66 75 6e 20 | 69 6e 74 2d 74 6f 2d 68 |.(defun |int-to-h|
|00001580| 65 78 2d 73 74 72 69 6e | 67 20 28 69 6e 74 29 20 |ex-strin|g (int) |
|00001590| 22 5c 0a 43 6f 6e 76 65 | 72 74 20 74 68 65 20 69 |"\.Conve|rt the i|
|000015a0| 6e 74 65 67 65 72 20 61 | 72 67 75 6d 65 6e 74 20 |nteger a|rgument |
|000015b0| 74 6f 20 61 20 43 2d 73 | 74 79 6c 65 20 68 65 78 |to a C-s|tyle hex|
|000015c0| 61 64 65 63 69 6d 61 6c | 20 73 74 72 69 6e 67 2e |adecimal| string.|
|000015d0| 22 20 28 62 79 74 65 2d | 63 6f 64 65 20 22 c4 c5 |" (byte-|code "..|
|000015e0| c6 1a 19 18 08 c7 58 85 | 23 00 09 c8 0a c9 ca 0b |......X.|#.......|
|000015f0| 08 5c 22 cb 5c 22 48 21 | 50 11 08 cc 5c 5c 89 10 |.\".\"H!|P...\\..|
|00001600| 88 82 06 00 88 09 2b 87 | 22 20 5b 73 68 69 66 74 |......+.|" [shift|
|00001610| 76 61 6c 20 73 74 72 20 | 68 65 78 2d 63 68 61 72 |val str |hex-char|
|00001620| 73 20 69 6e 74 20 2d 32 | 30 20 22 30 78 22 20 22 |s int -2|0 "0x" "|
|00001630| 30 31 32 33 34 35 36 37 | 38 39 41 42 43 44 45 46 |01234567|89ABCDEF|
|00001640| 22 20 30 20 63 68 61 72 | 2d 74 6f 2d 73 74 72 69 |" 0 char|-to-stri|
|00001650| 6e 67 20 6c 6f 67 61 6e | 64 20 6c 73 68 20 31 35 |ng logan|d lsh 15|
|00001660| 20 34 5d 20 38 29 29 0a | 0a 28 64 65 66 75 6e 20 | 4] 8)).|.(defun |
|00001670| 66 74 72 75 6e 63 20 28 | 66 6e 75 6d 29 20 22 5c |ftrunc (|fnum) "\|
|00001680| 0a 54 72 75 6e 63 61 74 | 65 20 74 68 65 20 66 72 |.Truncat|e the fr|
|00001690| 61 63 74 69 6f 6e 61 6c | 20 70 61 72 74 20 6f 66 |actional| part of|
|000016a0| 20 61 20 66 6c 6f 61 74 | 69 6e 67 20 70 6f 69 6e | a float|ing poin|
|000016b0| 74 20 6e 75 6d 62 65 72 | 2e 22 20 28 62 79 74 65 |t number|." (byte|
|000016c0| 2d 63 6f 64 65 20 22 c5 | 08 41 21 83 0b 00 08 82 |-code ".|.A!.....|
|000016d0| 41 00 08 41 09 5b 58 83 | 17 00 c6 82 41 00 c2 85 |A..A.[X.|....A...|
|000016e0| 41 00 08 40 08 41 1c 1b | c7 c5 0b 21 83 33 00 c8 |A..@.A..|...!.3..|
|000016f0| c8 0b 0c 5c 22 0c 5b 5c | 22 82 3d 00 c8 c8 0b 5b |...\".[\|".=....[|
|00001700| 0c 5c 22 0c 5b 5c 22 5b | 0c 42 21 2a 87 22 20 5b |.\".[\"[|.B!*." [|
|00001710| 66 6e 75 6d 20 6d 61 78 | 62 69 74 20 74 20 6d 61 |fnum max|bit t ma|
|00001720| 6e 74 20 65 78 70 20 6e | 61 74 6e 75 6d 70 20 28 |nt exp n|atnump (|
|00001730| 30 20 2e 20 31 29 20 6e | 6f 72 6d 61 6c 69 7a 65 |0 . 1) n|ormalize|
|00001740| 20 61 73 68 5d 20 39 29 | 29 0a 0a 28 64 65 66 75 | ash] 9)|)..(defu|
|00001750| 6e 20 66 69 6e 74 20 28 | 66 6e 75 6d 29 20 22 5c |n fint (|fnum) "\|
|00001760| 0a 43 6f 6e 76 65 72 74 | 20 74 68 65 20 66 6c 6f |.Convert| the flo|
|00001770| 61 74 69 6e 67 20 70 6f | 69 6e 74 20 6e 75 6d 62 |ating po|int numb|
|00001780| 65 72 20 74 6f 20 69 6e | 74 65 67 65 72 2c 20 77 |er to in|teger, w|
|00001790| 69 74 68 20 74 72 75 6e | 63 61 74 69 6f 6e 2c 20 |ith trun|cation, |
|000017a0| 0a 6c 69 6b 65 20 61 20 | 43 20 63 61 73 74 20 6f |.like a |C cast o|
|000017b0| 70 65 72 61 74 6f 72 2e | 22 20 28 62 79 74 65 2d |perator.|" (byte-|
|000017c0| 63 6f 64 65 20 22 c8 09 | 21 18 08 40 1a 08 41 1b |code "..|!..@..A.|
|000017d0| 0b 0c 59 83 14 00 0d 82 | 28 00 0b 0c 5b 58 83 20 |..Y.....|(...[X. |
|000017e0| 00 0e 06 82 28 00 c7 85 | 28 00 c9 0a 0b 5c 22 2b |....(...|(....\"+|
|000017f0| 87 22 20 5b 74 66 20 66 | 6e 75 6d 20 74 69 6e 74 |." [tf f|num tint|
|00001800| 20 74 65 78 70 20 6d 61 | 6e 74 69 73 73 61 2d 62 | texp ma|ntissa-b|
|00001810| 69 74 73 20 6d 61 6e 74 | 69 73 73 61 2d 6d 61 78 |its mant|issa-max|
|00001820| 76 61 6c 20 6d 61 6e 74 | 69 73 73 61 2d 6d 69 6e |val mant|issa-min|
|00001830| 76 61 6c 20 74 20 66 74 | 72 75 6e 63 20 61 73 68 |val t ft|runc ash|
|00001840| 5d 20 34 29 29 0a 0a 28 | 64 65 66 75 6e 20 66 6c |] 4))..(|defun fl|
|00001850| 6f 61 74 2d 74 6f 2d 73 | 74 72 69 6e 67 20 28 66 |oat-to-s|tring (f|
|00001860| 6e 75 6d 20 26 6f 70 74 | 69 6f 6e 61 6c 20 73 63 |num &opt|ional sc|
|00001870| 69 29 20 22 5c 0a 43 6f | 6e 76 65 72 74 20 74 68 |i) "\.Co|nvert th|
|00001880| 65 20 66 6c 6f 61 74 69 | 6e 67 20 70 6f 69 6e 74 |e floati|ng point|
|00001890| 20 6e 75 6d 62 65 72 20 | 74 6f 20 61 20 64 65 63 | number |to a dec|
|000018a0| 69 6d 61 6c 20 73 74 72 | 69 6e 67 2e 0a 4f 70 74 |imal str|ing..Opt|
|000018b0| 69 6f 6e 61 6c 20 73 65 | 63 6f 6e 64 20 61 72 67 |ional se|cond arg|
|000018c0| 75 6d 65 6e 74 20 6e 6f | 6e 2d 6e 69 6c 20 6d 65 |ument no|n-nil me|
|000018d0| 61 6e 73 20 75 73 65 20 | 73 63 69 65 6e 74 69 66 |ans use |scientif|
|000018e0| 69 63 20 6e 6f 74 61 74 | 69 6f 6e 2e 22 20 28 62 |ic notat|ion." (b|
|000018f0| 79 74 65 2d 63 6f 64 65 | 20 22 d2 09 21 18 09 40 |yte-code| "..!..@|
|00001900| d3 57 1a d3 1b d3 1c d4 | 1d d3 1e 06 0e 08 1e 07 |.W......|........|
|00001910| d5 09 0e 09 5c 22 83 5c | 22 00 d6 82 54 01 d7 08 |....\".\|"...T...|
|00001920| 0e 08 5c 22 83 66 00 d8 | d9 0e 07 0e 0a 5c 22 89 |..\".f..|.....\".|
|00001930| 16 06 08 5c 22 85 47 00 | 0e 06 16 07 0b 0e 0b 5c |...\".G.|.......\|
|00001940| 5c 89 13 88 82 2a 00 88 | d8 d9 0e 07 0e 0c 5c 22 |\....*..|......\"|
|00001950| 89 16 06 08 5c 22 85 63 | 00 0e 06 16 07 0b 54 89 |....\".c|......T.|
|00001960| 13 88 82 48 00 82 9c 00 | da db 0e 07 0e 0a 5c 22 |...H....|......\"|
|00001970| 89 16 06 08 5c 22 85 83 | 00 0e 06 16 07 0b 0e 0b |....\"..|........|
|00001980| 5a 89 13 88 82 66 00 88 | da 0e 07 08 5c 22 85 9c |Z....f..|....\"..|
|00001990| 00 db 0e 07 0e 0c 5c 22 | 16 07 0b 53 89 13 88 82 |......\"|...S....|
|000019a0| 84 00 88 d9 db 08 0e 07 | 5c 22 0e 0d 5c 22 10 dc |........|\"..\"..|
|000019b0| 08 21 89 14 88 da dd 08 | 0c 5c 22 0e 0e 5c 22 83 |.!......|.\"..\".|
|000019c0| c3 00 de df 0c 21 54 21 | 89 15 82 ca 00 de df 0c |.....!T!|........|
|000019d0| 21 21 89 15 88 0e 0f 83 | e4 00 e0 0d d3 e1 4f e2 |!!......|......O.|
|000019e0| 0d e1 e3 4f e4 de 0b 21 | 25 89 15 82 48 01 0b 0e |...O...!|%...H...|
|000019f0| 0b 53 59 83 0b 01 0b 0e | 0b 5a 1e 10 e5 0e 10 21 |.SY.....|.Z.....!|
|00001a00| 85 07 01 0d d6 50 15 0e | 10 53 89 16 10 88 82 f2 |.....P..|.S......|
|00001a10| 00 29 82 48 01 0b d3 57 | 83 36 01 0b 5b e6 5a 1e |.).H...W|.6..[.Z.|
|00001a20| 10 e5 0e 10 21 85 2c 01 | d6 0d 50 15 0e 10 53 89 |....!.,.|..P...S.|
|00001a30| 16 10 88 82 17 01 88 e7 | 0d 50 89 15 29 82 48 01 |........|.P..).H.|
|00001a40| d1 85 48 01 0d d3 0b 54 | 4f e2 0d 0b 54 e3 4f 51 |..H....T|O...T.OQ|
|00001a50| 89 15 88 0a 83 53 01 e8 | 0d 50 82 54 01 0d 2e 07 |.....S..|.P.T....|
|00001a60| 87 22 20 5b 76 61 6c 75 | 65 20 66 6e 75 6d 20 73 |." [valu|e fnum s|
|00001a70| 69 67 6e 20 70 6f 77 65 | 72 20 72 65 73 75 6c 74 |ign powe|r result|
|00001a80| 20 73 74 72 20 74 65 6d | 70 20 70 6f 77 31 30 20 | str tem|p pow10 |
|00001a90| 5f 66 31 20 5f 66 30 20 | 68 69 67 68 65 73 74 2d |_f1 _f0 |highest-|
|00001aa0| 70 6f 77 65 72 2d 6f 66 | 2d 31 30 20 64 65 63 69 |power-of|-10 deci|
|00001ab0| 6d 61 6c 2d 64 69 67 69 | 74 73 20 5f 66 31 30 20 |mal-digi|ts _f10 |
|00001ac0| 61 6c 6c 2d 64 65 63 69 | 6d 61 6c 2d 64 69 67 73 |all-deci|mal-digs|
|00001ad0| 2d 6d 69 6e 76 61 6c 20 | 5f 66 31 2f 32 20 73 63 |-minval |_f1/2 sc|
|00001ae0| 69 20 7a 65 72 6f 65 73 | 20 74 20 66 61 62 73 20 |i zeroes| t fabs |
|00001af0| 30 20 22 22 20 66 3d 20 | 22 30 22 20 66 3e 3d 20 |0 "" f= |"0" f>= |
|00001b00| 66 3c 3d 20 66 2a 20 66 | 3e 20 66 2f 20 66 74 72 |f<= f* f|> f/ ftr|
|00001b10| 75 6e 63 20 66 2d 20 69 | 6e 74 2d 74 6f 2d 73 74 |unc f- i|nt-to-st|
|00001b20| 72 69 6e 67 20 66 69 6e | 74 20 63 6f 6e 63 61 74 |ring fin|t concat|
|00001b30| 20 31 20 22 2e 22 20 6e | 69 6c 20 22 45 22 20 6e | 1 "." n|il "E" n|
|00001b40| 61 74 6e 75 6d 70 20 32 | 20 22 30 2e 22 20 22 2d |atnump 2| "0." "-|
|00001b50| 22 5d 20 32 39 29 29 0a | 0a 28 64 65 66 75 6e 20 |"] 29)).|.(defun |
|00001b60| 73 74 72 69 6e 67 2d 74 | 6f 2d 66 6c 6f 61 74 20 |string-t|o-float |
|00001b70| 28 73 74 72 29 20 22 5c | 0a 43 6f 6e 76 65 72 74 |(str) "\|.Convert|
|00001b80| 20 74 68 65 20 73 74 72 | 69 6e 67 20 74 6f 20 61 | the str|ing to a|
|00001b90| 20 66 6c 6f 61 74 69 6e | 67 20 70 6f 69 6e 74 20 | floatin|g point |
|00001ba0| 6e 75 6d 62 65 72 2e 0a | 41 63 63 65 70 74 73 20 |number..|Accepts |
|00001bb0| 61 20 64 65 63 69 6d 61 | 6c 20 73 74 72 69 6e 67 |a decima|l string|
|00001bc0| 20 69 6e 20 73 63 69 65 | 6e 74 69 66 69 63 20 6e | in scie|ntific n|
|00001bd0| 6f 74 61 74 69 6f 6e 2c | 20 0a 77 69 74 68 20 65 |otation,| .with e|
|00001be0| 78 70 6f 6e 65 6e 74 20 | 70 72 65 63 65 64 65 64 |xponent |preceded|
|00001bf0| 20 62 79 20 65 69 74 68 | 65 72 20 45 20 6f 72 20 | by eith|er E or |
|00001c00| 65 2e 0a 4f 6e 6c 79 20 | 74 68 65 20 36 20 6d 6f |e..Only |the 6 mo|
|00001c10| 73 74 20 73 69 67 6e 69 | 66 69 63 61 6e 74 20 64 |st signi|ficant d|
|00001c20| 69 67 69 74 73 20 6f 66 | 20 74 68 65 20 69 6e 74 |igits of| the int|
|00001c30| 65 67 65 72 20 61 6e 64 | 20 66 72 61 63 74 69 6f |eger and| fractio|
|00001c40| 6e 61 6c 20 70 61 72 74 | 73 0a 61 72 65 20 75 73 |nal part|s.are us|
|00001c50| 65 64 3b 20 6f 6e 6c 79 | 20 74 68 65 20 66 69 72 |ed; only| the fir|
|00001c60| 73 74 20 74 77 6f 20 64 | 69 67 69 74 73 20 6f 66 |st two d|igits of|
|00001c70| 20 74 68 65 20 65 78 70 | 6f 6e 65 6e 74 20 61 72 | the exp|onent ar|
|00001c80| 65 20 75 73 65 64 2e 0a | 4e 65 67 61 74 69 76 65 |e used..|Negative|
|00001c90| 20 73 69 67 6e 73 20 70 | 72 65 63 65 64 69 6e 67 | signs p|receding|
|00001ca0| 20 62 6f 74 68 20 74 68 | 65 20 64 65 63 69 6d 61 | both th|e decima|
|00001cb0| 6c 20 6e 75 6d 62 65 72 | 20 61 6e 64 20 74 68 65 |l number| and the|
|00001cc0| 20 65 78 70 6f 6e 65 6e | 74 0a 61 72 65 20 72 65 | exponen|t.are re|
|00001cd0| 63 6f 67 6e 69 7a 65 64 | 2e 22 20 28 62 79 74 65 |cognized|." (byte|
|00001ce0| 2d 63 6f 64 65 20 22 d7 | 08 09 d8 23 83 2d 01 c9 |-code ".|...#.-..|
|00001cf0| 1a d9 da 09 db 5c 22 1b | da 09 dc 5c 22 1c 0b 0c |.....\".|...\"...|
|00001d00| 50 1d dd da 09 de 5c 22 | df 5c 22 1e 06 d8 1e 07 |P.....\"|.\".....|
|00001d10| c9 1e 08 0b 47 0e 0a 5a | 89 12 88 0e 07 0d 47 57 |....G..Z|......GW|
|00001d20| 85 3e 00 0d 0e 07 48 e0 | 55 85 4b 00 0e 07 54 89 |.>....H.|U.K...T.|
|00001d30| 16 07 88 82 30 00 88 0a | 0e 07 5a 12 0d 0e 07 c9 |....0...|..Z.....|
|00001d40| 4f 89 15 88 0d 47 0e 0a | 56 83 73 00 0d 0e 0a 48 |O....G..|V.s....H|
|00001d50| e1 59 16 08 0d d8 0e 0a | 4f 89 15 82 7c 00 0a 0e |.Y......|O...|...|
|00001d60| 0a 0d 47 5a 5c 5c 89 12 | 88 e2 e3 e4 0d 21 0e 08 |..GZ\\..|.....!..|
|00001d70| 83 8b 00 de 82 8c 00 d8 | 5c 5c 0e 06 83 96 00 e5 |........|\\......|
|00001d80| 82 97 00 de 5c 22 21 2e | 06 da 09 e6 5c 22 1e 0b |....\"!.|....\"..|
|00001d90| dd da 09 e7 5c 22 df 5c | 22 1e 0c d8 1e 0d d8 1e |....\".\|".......|
|00001da0| 0e d8 1e 0f 0e 11 1e 10 | d9 1e 12 e3 e4 0e 0b d8 |........|........|
|00001db0| 0e 13 0e 0b 47 5e 4f 21 | 0e 0c 83 d0 00 e5 82 d1 |....G^O!|........|
|00001dc0| 00 de 5c 22 0a 5c 5c 89 | 16 0d 88 0e 0d d8 57 83 |..\".\\.|......W.|
|00001dd0| eb 00 0e 0d 5b 16 0d e8 | 89 16 12 82 ec 00 c9 88 |....[...|........|
|00001de0| e9 0e 0d 0e 0a 5c 22 16 | 0e ea 0e 0d 0e 0a 5c 22 |.....\".|......\"|
|00001df0| 89 16 0f 88 0e 0e d8 56 | 85 1a 01 eb 0e 12 0e 10 |.......V|........|
|00001e00| 0e 14 23 16 10 0e 0e 53 | 89 16 0e 88 82 ff 00 88 |..#....S|........|
|00001e10| eb 0e 12 0e 10 0e 15 0e | 0f 48 23 2e 07 5c 22 29 |........|.H#..\")|
|00001e20| 82 2f 01 0e 16 87 22 20 | 5b 66 6c 6f 61 74 69 6e |./...." |[floatin|
|00001e30| 67 2d 70 6f 69 6e 74 2d | 72 65 67 65 78 70 20 73 |g-point-|regexp s|
|00001e40| 74 72 20 70 6f 77 65 72 | 20 69 6e 74 2d 73 75 62 |tr power| int-sub|
|00001e50| 73 74 20 66 72 61 63 74 | 2d 73 75 62 73 74 20 64 |st fract|-subst d|
|00001e60| 69 67 69 74 2d 73 74 72 | 69 6e 67 20 6d 61 6e 74 |igit-str|ing mant|
|00001e70| 2d 73 69 67 6e 20 6c 65 | 61 64 69 6e 67 2d 30 73 |-sign le|ading-0s|
|00001e80| 20 72 6f 75 6e 64 2d 75 | 70 20 6e 69 6c 20 64 65 | round-u|p nil de|
|00001e90| 63 69 6d 61 6c 2d 64 69 | 67 69 74 73 20 65 78 70 |cimal-di|gits exp|
|00001ea0| 74 2d 73 75 62 73 74 20 | 65 78 70 74 2d 73 69 67 |t-subst |expt-sig|
|00001eb0| 6e 20 65 78 70 74 20 63 | 68 75 6e 6b 73 20 74 65 |n expt c|hunks te|
|00001ec0| 6e 73 20 65 78 70 6f 6e | 65 6e 74 20 5f 66 31 20 |ns expon|ent _f1 |
|00001ed0| 66 75 6e 63 20 65 78 70 | 74 2d 64 69 67 69 74 73 |func exp|t-digits|
|00001ee0| 20 68 69 67 68 65 73 74 | 2d 70 6f 77 65 72 2d 6f | highest|-power-o|
|00001ef0| 66 2d 31 30 20 70 6f 77 | 65 72 73 2d 6f 66 2d 31 |f-10 pow|ers-of-1|
|00001f00| 30 20 5f 66 30 20 73 74 | 72 69 6e 67 2d 6d 61 74 |0 _f0 st|ring-mat|
|00001f10| 63 68 20 30 20 66 2a 20 | 65 78 74 72 61 63 74 2d |ch 0 f* |extract-|
|00001f20| 6d 61 74 63 68 20 32 20 | 34 20 65 71 75 61 6c 20 |match 2 |4 equal |
|00001f30| 31 20 22 2d 22 20 34 38 | 20 35 33 20 66 20 2a 20 |1 "-" 48| 53 f * |
|00001f40| 73 74 72 69 6e 67 2d 74 | 6f 2d 69 6e 74 20 2d 31 |string-t|o-int -1|
|00001f50| 20 39 20 38 20 66 2f 20 | 2f 20 25 20 66 75 6e 63 | 9 8 f/ |/ % func|
|00001f60| 61 6c 6c 5d 20 32 33 29 | 29 0a |all] 23)|). |
+--------+-------------------------+-------------------------+--------+--------+